/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package utils;

import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import objetosTransferencia.Mensaje;

/**
 *
 * @author Roberto Corona
 */
public class Validaciones {

    public Map<String, Mensaje> validaClave(HttpServletRequest request) {
        Map<String, Mensaje> mensajes = new HashMap<String, Mensaje>();
        Valida valida = new Valida();
        Mensaje mensaje;

        String clave = request.getParameter("Clave");
        if (valida.cadenaVacia(clave)) {
            mensaje = new Mensaje("* Campo Obligatorio", "mensajeError");
            mensajes.put("Clave", mensaje);
        } //Si la clave no es valida 
        else if (!valida.validaClave(clave)) {
            mensaje = new Mensaje("La clave debe contener 3 caracteres seguidos de 4 numeros", "mensajeError");
            mensajes.put("Clave", mensaje);
        }

        return mensajes;
    }

    public Map<String, Mensaje> validaPeriodo(HttpServletRequest request) {
        Map<String, Mensaje> mensajes = new HashMap<String, Mensaje>();
        Valida valida = new Valida();
        Mensaje mensaje;

        //txtFechaInicial
        String fecha = request.getParameter("txtFechaInicial");
        if (valida.cadenaVacia(fecha)) {
            mensaje = new Mensaje("* Campo obligatorio", "mensajeError");
            mensajes.put("txtFechaInicial", mensaje);
        } else if (!valida.validaFecha(fecha)) {
            mensaje = new Mensaje("La fecha debe ser en formato dia/mes/año Ejemplo: 31/12/2012", "mensajeError");
            mensajes.put("txtFechaInicial", mensaje);
        }

        //txtFechaInicial
        String fechaFin = request.getParameter("txtFechaFinal");
        if (valida.cadenaVacia(fechaFin)) {
            mensaje = new Mensaje("* Campo obligatorio", "mensajeError");
            mensajes.put("txtFechaFinal", mensaje);
        } else if (!valida.validaFecha(fechaFin)) {
            mensaje = new Mensaje("La fecha debe ser en formato dia/mes/año Ejemplo: 31/12/2012", "mensajeError");
            mensajes.put("txtFechaFinal", mensaje);
        }

        return mensajes;
    }

    public Map<String, Mensaje> validaCompraGranel(HttpServletRequest request) {
        Map<String, Mensaje> mensajes = new HashMap<String, Mensaje>();
        Valida valida = new Valida();
        Mensaje mensaje;

        //CveMovimiento
        String cveMovimiento = request.getParameter("Clave");
        if (valida.cadenaVacia(cveMovimiento)) {
            mensaje = new Mensaje("* Campo obligaotiro", "mensajeError");
            mensajes.put("txtClave", mensaje);
        } else if (!valida.validaClave(cveMovimiento)) {
            mensaje = new Mensaje("La clave ebe contener 3 caracteres seguidos de 4 numeros", "mensajeError");
            mensajes.put("txtClave", mensaje);
        }

        //txtFecha
        String fecha = request.getParameter("Fecha");
        if (valida.cadenaVacia(fecha)) {
            mensaje = new Mensaje("* Campo obligatorio", "mensajeError");
            mensajes.put("txtFecha", mensaje);
        } else if (!valida.validaFecha(fecha)) {
            mensaje = new Mensaje("La fecha debe ser en formato dia/mes/año Ejemplo: 31/12/2012", "mensajeError");
            mensajes.put("txtFecha", mensaje);
        }

        //txtCantidad
        String cantidad = request.getParameter("Cantidad");
        if (valida.cadenaVacia(cantidad)) {
            mensaje = new Mensaje("* Campo olbigatorio", "mensajeError");
            mensajes.put("txtCantidad", mensaje);
        } else if (!valida.validaFlotante(cantidad)) {
            mensaje = new Mensaje("Formato de número no válido.", "mensajeError");
            mensajes.put("txtCantidad", mensaje);
        }

        return mensajes;
    }

    public Map<String, Mensaje> validaProducto(HttpServletRequest request) {
        Map<String, Mensaje> mensajes = new HashMap<String, Mensaje>();
        Valida valida = new Valida();
        Mensaje mensaje;

        String clave = request.getParameter("Clave");
        if (valida.cadenaVacia(clave)) {
            mensaje = new Mensaje("* Campo Obligatorio", "mensajeError");
            mensajes.put("Clave", mensaje);
        } //Si la clave no es valida 
        else if (!valida.validaClave(clave)) {
            mensaje = new Mensaje("La clave debe contener 3 caracteres seguidos de 4 numeros", "mensajeError");
            mensajes.put("Clave", mensaje);
        }

        String nombre = request.getParameter("Nombre");
        if (valida.cadenaVacia(nombre)) {
            mensaje = new Mensaje("* Campo Obligatorio", "mensajeError");
            mensajes.put("Nombre", mensaje);
        } //Si la clave no es valida 
        else if (!valida.validaCadena(35, nombre)) {
            mensaje = new Mensaje("La el nombre no cumple con el formato requerido. Debe tener Máximo 35 caracteres.", "mensajeError");
            mensajes.put("Nombre", mensaje);
        }

        String tipo = request.getParameter("Tipo");
        if (valida.cadenaVacia(tipo)) {
            mensaje = new Mensaje("* Campo Obligatorio", "mensajeError");
            mensajes.put("Tipo", mensaje);
        } //Si la clave no es valida 
        else if (!valida.validaCaracter(tipo)) {
            mensaje = new Mensaje("La el nombre no cumple con el formato requerido. Debe ser E, G.", "mensajeError");
            mensajes.put("Tipo", mensaje);
        }

        String unidad = request.getParameter("Unidad");
        if (valida.cadenaVacia(unidad)) {
            mensaje = new Mensaje("* Campo Obligatorio", "mensajeError");
            mensajes.put("Unidad", mensaje);
        } //Si la clave no es valida 
        else if (!valida.validaCadena(3, unidad)) {
            mensaje = new Mensaje("La el nombre no cumple con el formato requerido. Debe ser 1 a 3 caracteres", "mensajeError");
            mensajes.put("Unidad", mensaje);
        }

        return mensajes;
    }
}
